package com.jeomo.masterdata.provider.request;

import javax.validation.constraints.DecimalMin;
import javax.validation.constraints.Min;
import java.io.Serializable;

/**
 * <h3>jeomo</h3>
 * <p>创建等级</p>
 *
 * @author : 崔贺
 * @date : 2020-09-01 16:08
 **/
public class MemberLevelRequest implements Serializable {

    private static final long serialVersionUID = 1928106110173797675L;
    /**
     * 等级码
     */
    private String code;
    /**
     * 等级名称
     */
    private String name;
    /**
     * 系统等级
     */
    private String levelCode;
    /**
     * 文件
     */
    private String cardSamplePicturePath;

    @Min(0)
    /**
     * 等级规则：等级有效期(天)
     */
    private Integer effectiveDay;
    @Min(0)
    /**
     * 等级规则：升级，累计获得积分
     */
    private Integer upLevelSumBonus;
    @DecimalMin("0")
    /**
     * 等级规则：升级，累计消费
     */
    private Double upLevelSumAmount;
    @DecimalMin("0")
    /**
     * 等级规则：升级，单日消费
     */
    private Double upLevelDailyAmount;
    @Min(0)
    /**
     * 保级规则：累计获得积分
     */
    private Integer remainLevelSumBonus;
    @DecimalMin("0")
    /**
     * 保级规则：累计消费
     */
    private Double remainLevelSumAmount;

    private Boolean startFlag = true;

    public Boolean getStartFlag() {
        return startFlag;
    }

    public void setStartFlag(Boolean startFlag) {
        this.startFlag = startFlag;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getCode() {
        return code;
    }

    public void setCode(String code) {
        this.code = code;
    }

    public String getLevelCode() {
        return levelCode;
    }

    public void setLevelCode(String levelCode) {
        this.levelCode = levelCode;
    }

    public String getCardSamplePicturePath() {
        return cardSamplePicturePath;
    }

    public void setCardSamplePicturePath(String cardSamplePicturePath) {
        this.cardSamplePicturePath = cardSamplePicturePath;
    }

    public Integer getEffectiveDay() {
        return effectiveDay;
    }

    public void setEffectiveDay(Integer effectiveDay) {
        this.effectiveDay = effectiveDay;
    }

    public Integer getUpLevelSumBonus() {
        return upLevelSumBonus;
    }

    public void setUpLevelSumBonus(Integer upLevelSumBonus) {
        this.upLevelSumBonus = upLevelSumBonus;
    }

    public Double getUpLevelSumAmount() {
        return upLevelSumAmount;
    }

    public void setUpLevelSumAmount(Double upLevelSumAmount) {
        this.upLevelSumAmount = upLevelSumAmount;
    }

    public Double getUpLevelDailyAmount() {
        return upLevelDailyAmount;
    }

    public void setUpLevelDailyAmount(Double upLevelDailyAmount) {
        this.upLevelDailyAmount = upLevelDailyAmount;
    }

    public Integer getRemainLevelSumBonus() {
        return remainLevelSumBonus;
    }

    public void setRemainLevelSumBonus(Integer remainLevelSumBonus) {
        this.remainLevelSumBonus = remainLevelSumBonus;
    }

    public Double getRemainLevelSumAmount() {
        return remainLevelSumAmount;
    }

    public void setRemainLevelSumAmount(Double remainLevelSumAmount) {
        this.remainLevelSumAmount = remainLevelSumAmount;
    }
}
